package net.qhzw.vip.qiyu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.qhzw.vip.qiyu.entity.GuaranteeSite;
import net.qhzw.vip.qiyu.model.*;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface GuaranteeSiteMapper extends BaseMapper<GuaranteeSite> {

    /***
     * 获取担保站点
     * @param idCard
     * @return
     */
    GuaranteeSite findGuaranteeSiteByUserId(String idCard);


    /***
     * 查询担保站点风险预警
     * @param query
     * @return
     */
    List<SysWarningVo> getWarning(WarningQuery query);

    int getWarningCount(WarningQuery query);

    /***
     * 根据身份证号查询担保公司 站点
     * @param idCards
     * @return
     */
    List<GuaranteeSiteUser> findByIdCards(@Param("idCards") List<String> idCards);


    /***
     * 根据userId查询站点ID
     * @param userId
     * @return
     */
    List<Long> getSiteIdByUserId(@Param("userId") Long userId);

    /***
     * 查询骑遇站点风险预警
     * @param amount
     * @return
     */
    int riskWarningQYCount(@Param("amount") BigDecimal amount, @Param("shopId") Long shopId);


    /***
     * 根据担保人员查询担保公司站点
     * @param id
     * @return
     */
    GuaranteeSiteUser getName(Long id);

    /**
     * 根据担保人员查询租车站点电话
     *
     * @param id
     * @return
     */
    Long findSiteMobile(Long id);

    /**
     * 查询各站点换车退车租车量ri
     */
    List<BigDataInfo> getCarStatistics();

    /**
     * 查询各站点换车退车租车量 (总的)
     * @return
     */
    List<BigDataInfo> getCarStatisticsByMothon();

    /**
     * 查询各站点租车 换车 退车营业额
     */
    List<BigDataInfo> getTheSiteTurnover();

    /**
     * 商城经销商前15销售额排名图
     * @return
     */
    List<BigDataInfo> getMallshoping();
    /**
     *     商城经销商商品销售总量销售额排名图
      */

    List<BigDataInfo> getMallshopingTotal();

    /**
     * 收入指标统计
     * @return
     */
   String getIncmIdxStatistics();

    /**
     * 骑遇小遇 租车业务 商城业务 维修业务综合统计
     * @return
     */
    Map<String, Integer> getComprehensiveStatistics();

    /**
     * 维修救援 维修师傅指标统计
     * @return
     */
    List<BigDataInfo> getMaintIdxStatistics();

    /**
     * 商户租车业务指标统计
     * @return
     */
    List<BigDataInfo> getCarMerchantsToRentACarTotal();

    /***
     * 担保公司维度统计
     * @return
     */
    List<BigDataInfo> getGuaranteeCompanyDimension();
    String getMallTotalMoney();

    String getInRentTheUser();// 再租总数

    List<BigDataInfo> getNowunder();

    List<BigDataInfoFask> selectAllFakeData();
    List<BigDataInfo> selectAllFakeData1();
    BigDataInfoFaskModel getFoundationData();

      boolean  updateIsFaker();
      boolean updateIsFakerSon();
      boolean  updateIsFaker1();
      boolean updateIsFakerSon1();
     boolean updateIsFakerToday( @Param("today") String today );
     boolean updateIsFakerTodayLease( @Param("inLease") Integer inLease ,@Param("returnCar") Integer returnCar ,@Param("leaseCar") Integer leaseCar );
}